# -*- coding: utf-8 -*-
target_url = 'https://book.douban.com'

# 数据库中IP存活时间阀值, 超过及对其重新检测
# over_time = 1800

#请求代理网站超时
time_out = 5

url_parse_dict = {
    # data5u
    'data5u': {
        'status': 'active',
        'request_method': 'get',
        'url': ['http://www.data5u.com/free/{tag}/index.shtml'.format(tag=tag) for tag in
                ['gngn', 'gnpt', 'gwgn', 'gwpt']],
        'parse_type': 'xpath',
        'ip_port_together': False,
        'parse_method': {
            'ip_address': '//ul[@class="l2"]/span[1]/li/text()',
            'ip_port': '//ul[@class="l2"]/span[2]/li/text()',
        },
        'header': {
            'User-Agent': '',
            'Host': 'www.data5u.com',
        }
    },

    # xicidaili
    'xicidaili': {
        'status': 'active',
        'request_method': 'get',
        'url': ['http://www.xicidaili.com/nn/{page}'.format(page=page) for page in range(1, 10)],
        'parse_type': 'xpath',
        'ip_port_together': False,
        'parse_method': {
            'ip_address': '//tr[@class="odd"]/td[2]/text()',
            'ip_port': '//tr[@class="odd"]/td[3]/text()',
        },
        'header': {
            'User-Agent': '',
            'Host': 'www.xicidaili.com',
        }

    },

    # 66ip
    '66ip': {
        'status': 'active',
        'request_method': 'get',
        'url': ['http://www.66ip.cn/{page}.html'.format(page=page) for page in range(1, 10)],
        'parse_type': 're',
        'ip_port_together': False,
        'parse_method': {
            '_pattern': '<tr><td>([\d\.]*?)</td><td>(.*?)</td>',
        },
        'header': {
            'User-Agent': '',
            'Host': 'www.66ip.cn',
        }

    },

    # 这个是国外的一个网站,如果网络无法访问,可以将status改为inactive
    'proxylistplus': {
        'status': 'inactive',
        'request_method': 'get',
        'url': ['https://list.proxylistplus.com/Fresh-HTTP-Proxy-List-{page}'.format(page=page) for page in
                range(1, 5)],
        'parse_type': 'xpath',
        'ip_port_together': False,
        'parse_method': {
            'ip_address': '//table[@class="bg"]/tr[@class="cells"]/td[2]/text()',
            'ip_port': '//table[@class="bg"]/tr[@class="cells"]/td[3]/text()',
        },
        'header': {
            'User-Agent': '',
            'Host': 'list.proxylistplus.com',
        }

    },

    'kuaidaili': {
        'status': 'active',
        'request_method': 'get',
        'url': ['https://www.kuaidaili.com/free/inha/{page}/'.format(page=page) for page in range(1, 10)],
        'parse_type': 'xpath',
        'ip_port_together': False,
        'parse_method': {
            'ip_address': '//*[@data-title="IP"]/text()',
            'ip_port': '//*[@data-title="PORT"]/text()',
        },
        'header': {
            'User-Agent': '',
            'Host': 'www.kuaidaili.com',
        }
    },

    '89ip': {
        'status': 'active',
        'request_method': 'get',
        'url': ['http://www.89ip.cn/tiqv.php?sxb=&tqsl=30&ports=&ktip=&xl=on/'],
        'parse_type': 're',
        'ip_port_together': True,
        'parse_method': {
            '_pattern': '([\d|\.|\:]*?)<BR>'
        },
        'header': {
            'User-Agent': '',
            'Host': 'www.89ip.cn',
        }
    }

}
